Ensuring Invariant Contracts for Modules in Java
نویسندگان
چکیده
Deductive verification of object-oriented programs suffers from the lack of modularity. One of the obstacles to modular verification are invariant contracts, which classes extending a verified system could break. We introduce a concept of modules for Java and their correctness w.r.t. invariant contracts and give a theoretical criterion on attributes called module-protection. To ensure modular fulfilment of invariant contracts, attribute chains that invariants depend on must be module-protected. Finally, we show that each of four known restrictions to enforce modularity imply module-protectedness of attributes.
منابع مشابه
Oplus-supplemented modules with respect to images of a fully invariant submodule
Lifting modules and their various generalizations as some main concepts in module theory have been studied and investigated extensively in recent decades. Some authors tried to present some homological aspects of lifting modules and -supplemented modules. In this work, we shall present a homological approach to -supplemented modules via fully invariant submodules. Lifting modules and H-suppleme...
متن کاملAccess Control Contracts for Java Program Modules
Application-level security has become an issue in recent years; for example, errors, discrepancies and omissions in the specification of access control constraints of security-sensitive software components are recognized as an important source for security vulnerabilities. We propose to formally specify access control assumptions or constraints of a program module and enforce them at run-time. ...
متن کاملContract-Aware Feature Composition
Feature-oriented programming is a paradigm to develop software product lines, in which products can be generated by composing feature modules. Design by contract is a development methodology, in which methods are specified by annotating them with contracts. Researchers propose to use such contracts to specify feature modules in order to perform different product-line analysis-techniques such as...
متن کاملAdding Contracts to Java with Handshake
Contracts describe an agreement between the writer and the user of a class. Their use enhances programmer productivity and program reliability, especially in library code. Handshake provides contracts for Java classes and interfaces in the form of class invariants and method preand postconditions. Using Handshake, a programmer can add contracts to classes and interfaces without needing access t...
متن کاملiContract - The Java(tm) Design by Contract(tm) Tool
Until today, the explicit speci cation of "software contracts" by means of class invariants and method preand post-conditions was only available to Ei el developers. iContract is the rst tool that provides the same thorough support for Java. iContract is a freely available source-code pre-processor that instruments sourcecode with checks for class invariants as well as preand post-conditions th...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004